package com.yupi.shortchain.annotation;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface BlackListInterceptor {
    /**
     * 拦截标识
     * @return
     */
    String key() default "default";

    /**
     * 请求限制 每秒的请求数
     * @return
     */
    long rateLimit() default 10;

    /**
     * 保护限制 命中频率次数后触发保护 默认触发限制后进入黑名单
     * @return
     */
    int protectLimit() default 1;

    /**
     * 回调方法
     * @return
     */
    String fallbackMethod();

}
